<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>同步异步、宏任务微任务</title>
</head>
<body>
<script>
    // 结果是：script1 start,async1 start,async2,promise1,script end,async1 end,promise2,setTimeout
    async function async1(){
        console.log('async1 start')
        await async2()
        console.log('async1 end')
    }

    async function async2(){
        console.log('async2')
    }

    console.log('script start')

    setTimeout(function (){
        console.log('setTimeout')
    },0)
    async1()
    new Promise(function (resolve){
        console.log('promise1')
        resolve()
    }).then(function (){
        console.log('promise2')
    })
    console.log('script end')
</script>
</body>
</html>
